1. Field of the Invention
The present invention relates to a color management system for transforming color data, wherein the color management system utilizes measured calorimetric data and viewing condition data corresponding to a source device for generating appropriate color transforms for use in a color transformation sequence to transform color image data into a destination device color space. In this manner, a color transform corresponding to the source device is not generated until it is required by a color management system for transforming color image data into a destination device color space.
2. Incorporation by Reference
Commonly-owned U.S. patent application Ser. No. 09/538,947, entitled “Standardized Device Characterization,” by John S. Haikin, is incorporated herein by reference.
3. Description of the Related Art
Typically, color management systems provide a means for representing a color image that was produced by a source device on a destination device. The color characteristics of the source device and the destination device for rendering colors is usually different because the devices use different colorants to render the colors, such as a printer and a monitor, or are of different manufacturers such that colors are rendered according to different techniques. To accommodate the different color characteristics of the two different devices, a color management system is typically used to modify the color image data from the source device so that it can be rendered on the destination device so as to produce a color image which appears similar in nature as the color image rendered by the source device.
Many currently-used color management systems, such as those that support the International Color Consortium (ICC) specifications, use data files known as “device color profiles” to store information which reflects the color characteristics corresponding to a specific device. FIG. 1 depicts a device color profile 1 typically used in conventional color management systems. Specifically, the color characteristic information is provided in color transform 2 which reflects the color characteristics of the source device in relation to a standard, device-independent color space. The color transform can then be used to transform color image data from the source device color space into the device-independent color space as a first step in a comprehensive transformation sequence to ultimately generate color image data in destination device color space for rendering by the destination device. Color profile 1 also includes gamut boundary descriptor 3 which describes the gamut boundary of the device.
The color transform of a color profile corresponding to a particular device is typically in the form of color transformation data which is generated by a profile-building program. It should be noted that there are several different types of profile-building programs for generating color transformation data. A profile-building program constructs the color transformation data for a particular device from corresponding sets of input color value data and output color value data in conjunction with data reflecting expected viewing conditions. The corresponding sets of input color value data and output color value data reflect the color rendering characteristics of the device in relation to a standard, device-independent color space. The many different profile-building programs currently in use often utilize different methods and techniques to generate color transformation data, some of which are proprietary. For example, a profile-building program may incorporate a technique for generating color transformation data which produces the best result for a particular device or a particular type of image as determined by the manufacturer or developer of the profile-building program.
The color transformation data built by the profile-building program is then used to transform color data values from a source device color space to a particular, device-independent color space, and visa versa. Therefore, the construction of a color transform involves the selection of a particular color space and a color appearance model. Currently, there are several standard color spaces and color appearance models from which to select. In addition, the specifications for currently known, standard color spaces and color appearance models are in a state of rapid evolution. As a result, there currently exists a great number of profile-building programs for generating color transformation data based on different combinations of standard color spaces and color appearance models; and the number is rapidly increasing. In addition to the different choices of color spaces and color appearance models, there are many different ways to represent color transformation data in a device profile. For example, the color transformation data may be represented in a color look-up table, a polynomial function, or a sequence of single- and/or multi-variate transforms of arbitrary complexity.
To further complicate matters, many color management systems are designed to reduce processing overhead during the transformation of color image data by optimizing the color transformation data in order to increase the speed of the transformation process. The color transformation data is commonly optimized by eliminating a certain amount of unnecessary and/or less important color data as determined by the developer of the profile-building program. In addition, special proprietary functionality may be implemented into the profile-building program in order to provide more accurate color transformation from a source device color space to a destination device color space in order to achieve a preferred reproduction of the color image on the destination device. Therefore, it can be appreciated that the color transformation data contained in device color profiles corresponding to two separate devices may be quite different even though the two devices are very similar in nature, due to the use of two uniquely different profile-building programs to generate the color transformation data contained in each device color profile.
Device color profiles are typically structured in a standardized format in order to allow many different color management systems to use color profiles which were built by many different profile-building programs. The ICC has defined and standardized a color profile format in order to allow for the efficient interchange of color images from one device to another via color management systems. The ICC color profile format, however, is based on the assumption that the originator of the color image data in the source device knows what the best appearance of that color image data on a destination device should be, regardless of the actual destination device subsequently used to render the color image. This assumption is made because the ICC color profile format contains color transformation data which assumes a particular, standard color space and a particular appearance model for mapping (transforming) the color image data into that color appearance space.
Currently, digital color image data is widely used in computer and networked computing environments, and the use of such color image data is growing rapidly. Color image data corresponding to color images are often archived or placed into stock photography banks for subsequent access and utilization by other users. The use of such color image data by a subsequent user can present significant problems when the subsequent user attempts to transform the color image data into the color space of a destination device for rendering a preferred reproduction of the color image. In addition, the color image data, which is tagged with an ICC color profile corresponding to the source device, may be accessed from a stock photography bank for use by a subsequent user long after the color image data was created. In such a situation, the source color profile may be many revisions old or, if enough time has gone by, the ICC color profile format may no longer be used by color management systems. In such situations, the color image data is effectively unusable by the subsequent user because the subsequent user's color management system cannot interpret the source color profile for use in a transformation sequence. Even if the source color profile can be subsequently used by a color management system, the color transformation data in the color profile may have been based on a standard color space or a color appearance model that is either incompatible or sub-optimal when used in conjunction with color transformation data from the color profile of the destination device.
In addition to the above problems, the representation of the color transformation data in the source device color profile may have been implemented in a particular manner, such as a three-dimensional color look-up table, which is not sufficiently accurate to generate an optimal color transformation sequence. Moreover, even if the source device color profile associated with the color image data and the destination device color profile are fully compatible, a subsequent user of the color image data may wish to generate a different, preferred appearance of the color image, often referred to as a preferred reproduction. Such a preferred reproduction is typically not possible, or is very difficult, when using conventional color profiles because a source device color profile corresponding to the color image data incorporates a particular color space and a particular color appearance model in the color transform.